package br.com.Atv09.cadastroclientes.negocio;

import java.util.List;

import br.com.Atv09.cadastroclientes.dominio.Cliente;
import br.com.Atv09.cadastroclientes.dominio.ClienteHistorico;
import br.com.Atv09.cadastroclientes.negocio.exceptions.CampoObrigatorio;
import br.com.Atv09.cadastroclientes.negocio.exceptions.ClienteNaoExiste;
import br.com.Atv09.cadastroclientes.negocio.exceptions.MesAnoNaoPermitidos;

public class Fachada implements IFachada{

	private ControladorCliente controladorCliente;
	
	public Fachada(){
		this.controladorCliente = new ControladorCliente();
	}
	
	@Override
	public void inserirOuAtualizarCliente(Cliente cliente) throws CampoObrigatorio {
		controladorCliente.inserirOuAtualizarCliente(cliente);
	}

	@Override
	public void excluirCliente(String cpf) throws CampoObrigatorio, ClienteNaoExiste {
		controladorCliente.excluirCliente(cpf);
	}

	@Override
	public List<ClienteHistorico> listarHistoricoCliente(String cpf) throws CampoObrigatorio, ClienteNaoExiste{
		return controladorCliente.listarHistoricoCliente(cpf);
	}

	@Override
	public void gerarCartaCobranca(Integer mes, Integer ano) throws CampoObrigatorio, MesAnoNaoPermitidos {
		controladorCliente.gerarCartaCobranca(mes, ano);
	}

}
